# -*- coding: utf-8 -*-
"""
author:码同学 极光
date:2025/3/8
desc: 
sample: 
"""

from faker import Faker
from datetime import date
import random

# -*- coding: utf-8 -*-
"""
author:码同学 极光
date:2025/3/8
desc: 
sample: 
"""

from faker import Faker
from datetime import date
import random

fake = Faker('zh_CN')  # 初始化Faker实例为中文


# 定义电商数据生成函数
def func(data_size):
    datas = []
    for i in range(data_size):
        # 生成用户id
        id = str(fake.uuid4())
        # 生成用户名字
        name = fake.name()
        # 生成用户邮箱
        email = fake.email()
        # 生成商品名称
        product_name = fake.word()
        # 生成购买数量
        quantity = random.randint(1, 10)
        # 生成单价。使用uniform生成a~b之间的随机浮动数，并使用round保留两位小数
        unit_price = round(random.uniform(50, 200), 2)
        # 生成同消费金额
        total_price = round(quantity * unit_price, 2)
        # 随机生成2024上半年这个时间段的购买日期
        sale_date = fake.date_between(start_date=date(2025, 1, 1), end_date=date(2025, 3, 8))

        datas.append({
            'id': id,
            'name': name,
            'email': email,
            'product_name': product_name,
            'quantity': quantity,
            'unit_price': unit_price,
            'total_price': total_price,
            'sale_date': sale_date
        })
    return datas


# 测试入口
data_size = 3  # 确定要造的数据数量
df = func(data_size)
print(df)

